home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MacQForth 1.0 / demo / scribble.4th < prev    next >
Text File  |  1995-03-03  |  998b  |  36 lines

  1.  
  2. ( Scribble.4th  --  Draw on the screen while the mouse button down,  )
  3. (                   exit when the * clicked                          )
  4.  
  5. ( RTK, MacQForth, assumes 'extend.4th' already loaded )
  6.  
  7. ( 03/03/95 )
  8.  
  9.  
  10. : it ;  ( type 'forget it' before loading a new demo file )
  11.  
  12. : done? ( -- b )  ( true if the mouse button on and in the * )
  13.     @mouse rot rot                  ( keep button status )
  14.     dup >r 243 > r> 271 < and swap  ( check y range      )
  15.     dup >r 0 > r> 20 < and          ( check x range      )
  16.     and and if 
  17.       true     ( ready to exit )
  18.     else
  19.       false    ( not done      )
  20.     then
  21. ;
  22.  
  23. : go  ( scribble )
  24.    page ." SCRIBBLE.  Draw with the mouse, click in the * to exit."
  25.    23 cv 1 ch  42 emit  ( draw a star, ASCII 42 = '*' )
  26.    begin
  27.      done? not     ( while not done )
  28.    while
  29.      @mouse if     ( get the mouse and button status )
  30.         plot       ( plot the point )
  31.      else
  32.         drop drop  ( otherwise drop the coordinates )
  33.      then
  34.    repeat
  35. ;
  36.